home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_vim.idb / usr / freeware / share / vim / syntax / make.vim.z / make.vim
Encoding:
Text File  |  1998-10-28  |  3.6 KB  |  102 lines

  1. " Vim syntax file
  2. " Language:    Makefile
  3. " Maintainer:    Claudio Fleiner <claudio@fleiner.com>
  4. " URL:        http://www.fleiner.com/vim/syntax/make.vim
  5. " Last change:    1998 Jan 12
  6.  
  7. " Remove any old syntax stuff hanging around
  8. syn clear
  9.  
  10. " This file makes use of the highlighting "Function", which is not defined
  11. " in the normal syntax.vim file yet.
  12.  
  13.  
  14. " some directives
  15. syn match makePreCondit    "^\s*\(ifeq\>\|else\>\|endif\>\|define\>\|ifneq\>\|ifdef\>\|ifndef\)"
  16. syn match makeInclude    "^\s*include"
  17. syn match makeStatement    "^\s*vpath"
  18. syn match makeOverride    "^\s*override"
  19. hi link makeOverride makeStatement
  20.  
  21.  
  22. " make targets
  23. syn match makeSpecTarget    "^\.SUFFIXES"
  24. syn match makeSpecTarget    "^\.PHONY"
  25. syn match makeSpecTarget    "^\.DEFAULT"
  26. syn match makeSpecTarget    "^\.PRECIOUS"
  27. syn match makeSpecTarget    "^\.IGNORE"
  28. syn match makeSpecTarget    "^\.SILENT"
  29. syn match makeSpecTarget    "^\.EXPORT_ALL_VARIABLES"
  30. syn match makeImplicit    "^\.[A-Za-z0-9_]*\.[A-Za-z0-9_]*\s*:[^=]"me=e-2
  31. syn match makeImplicit    "^\.[A-Za-z0-9_]*\.[A-Za-z0-9_]*\s*:$"me=e-1
  32. syn match makeTarget        "^[A-Za-z0-9_][A-Za-z0-9_./\t ]*:[^=]"me=e-2
  33. syn match makeTarget        "^[A-Za-z0-9_][A-Za-z0-9_./\t ]*:$"me=e-1
  34.  
  35. " Statements / Functions (GNU make)
  36. syn match makeStatement contained "(subst"ms=s+1
  37. syn match makeStatement contained "(addprefix"ms=s+1
  38. syn match makeStatement contained "(addsuffix"ms=s+1
  39. syn match makeStatement contained "(basename"ms=s+1
  40. syn match makeStatement contained "(dir"ms=s+1
  41. syn match makeStatement contained "(filter"ms=s+1
  42. syn match makeStatement contained "(filter-out"ms=s+1
  43. syn match makeStatement contained "(findstring"ms=s+1
  44. syn match makeStatement contained "(firstword"ms=s+1
  45. syn match makeStatement contained "(foreach"ms=s+1
  46. syn match makeStatement contained "(join"ms=s+1
  47. syn match makeStatement contained "(notdir"ms=s+1
  48. syn match makeStatement contained "(origin"ms=s+1
  49. syn match makeStatement contained "(patsubst"ms=s+1
  50. syn match makeStatement contained "(shell"ms=s+1
  51. syn match makeStatement contained "(sort"ms=s+1
  52. syn match makeStatement contained "(strip"ms=s+1
  53. syn match makeStatement contained "(suffix"ms=s+1
  54. syn match makeStatement contained "(wildcard"ms=s+1
  55. syn match makeStatement contained "(word"ms=s+1
  56. syn match makeStatement contained "(words"ms=s+1
  57.  
  58. " some special characters
  59. syn match makeSpecial    "^\s*[@-][@-]*"
  60. syn match makeNextLine    "\\$"
  61.  
  62. " identifiers
  63. syn match makeIdent        "\$([^)]*)" contains=makeStatement
  64. syn match makeIdent        "\$\$[A-Za-z0-9_]*"
  65. syn match makeIdent        "\$[^({]"
  66. syn match makeIdent        "\${[^}]*}"
  67. syn match makeIdent        "[A-Za-z][A-Za-z0-9_]*[ \t]*[:+]="me=e-2
  68. syn match makeIdent        "[A-Za-z][A-Za-z0-9_]*[ \t]*="me=e-1
  69. syn match makeIdent        "%"
  70.  
  71. " Comment
  72. syn match  makeComment    "#.*$"
  73.  
  74. " match escaped quotes, $ and any other escaped character
  75. " The escaped char is not highlightet currently
  76. syn match makeEscapedChar     "\\."
  77.  
  78. syn region  makeDString      start=+"+  skip=+\\"+  end=+"+  contains=makeIdent
  79. syn region  makeSString      start=+'+  skip=+\\'+  end=+'+  contains=makeIdent
  80. syn region  makeBString      start=+`+  skip=+\\`+  end=+`+  contains=makeIdent,makeSString,makeDString,makeNextLine
  81.  
  82. if !exists("did_makefile_syntax_inits")
  83.   let did_makefile_syntax_inits = 1
  84.   hi link makeNextLine    makeSpecial
  85.   hi link makeSpecTarget    Statement
  86.   hi link makeImplicit    Function
  87.   hi link makeTarget    Function
  88.   hi link makeInclude    Include
  89.   hi link makePreCondit    PreCondit
  90.   hi link makeStatement    Statement
  91.   hi link makeIdent    Identifier
  92.   hi link makeSpecial    Special
  93.   hi link makeComment    Comment
  94.   hi link makeDString    String
  95.   hi link makeSString    String
  96.   hi link makeBString    Function
  97. endif
  98.  
  99. let b:current_syntax = "make"
  100.  
  101. " vim: ts=8
  102.